package com.fortune.service;

import com.fortune.dto.in.pMAccountMgt.PMAccountAddDto;
import com.fortune.dto.in.pMAccountMgt.PMAccountEditDto;
import com.fortune.dto.in.pMAccountMgt.PMAccountListDto;
import com.fortune.dto.in.pMAccountMgt.PMUserUpAndDownDto;
import com.fortune.vo.pMAccountMgt.PMAccount;

import java.util.List;

public interface PMAccountMgtService {
    /**
     * 厂商列表
     * @param pmAccountListDto
     * @return
     */
    List<PMAccount> queryAccountList(PMAccountListDto pmAccountListDto);

    /**
     * 厂商列表个数
     * @param pmAccountListDto
     * @return
     */
    int queryAccountListCount(PMAccountListDto pmAccountListDto);

    /**
     * 检测是否存在
     * @param pmAccountAddDto
     * @return
     */
    int queryAccountIsExist(PMAccountAddDto pmAccountAddDto);

    /**
     * 检测是否存在
     * @param phone
     * @return
     */
    int queryAccountByNumber(String phone);

    /**
     * 添加厂商
     * @param pmAccountAddDto
     * @return
     */
    int addAccount(PMAccountAddDto pmAccountAddDto);

    /**
     * 检测是否存在
     * @param id
     * @return
     */
    int queryAccountById(String id);

    /**
     * 检测是否存在
     * @param pmAccountEditDto
     * @return
     */
    int queryEditAccountIsExist(PMAccountEditDto pmAccountEditDto);

    /**
     * 编辑厂商
     * @param pmAccountEditDto
     * @return
     */
    int editAccountCompanyId(PMAccountEditDto pmAccountEditDto);

    /**
     * 删除经销商
     * @param acccountId
     * @return
     */
    int deleteAccount(String acccountId);

    /**
     * 重置厂商密码
     * @param acccountId
     * @param password
     * @return
     */
    int resetPassword(String acccountId,String password);

    /**
     * 查询厂商信息
     * @param id
     * @return
     */
    PMAccount queryAccountInfoById(String id);

    /**
     * 修改状态
     * @param userUpAndDownDto
     * @return
     */
    int upAndDownUser(PMUserUpAndDownDto userUpAndDownDto);

    int queryAccountIsExistByName(PMAccountAddDto pmAccountAddDto);

    int queryAccountIsExistByAbbreviation(PMAccountAddDto pmAccountAddDto);

    int queryAccountIsExistByNumber(PMAccountAddDto pmAccountAddDto);

    int queryEditAccountIsExistByName(PMAccountEditDto pmAccountEditDto);

    int queryEditAccountIsExistByAbbreviation(PMAccountEditDto pmAccountEditDto);

    int queryEditAccountIsExistByNumber(PMAccountEditDto pmAccountEditDto);

}
